<!DOCTYPE html>










































































<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<link rel="shortcut icon" type="image/x-icon" href="../../../../../../favicon.ico" />
<title>AppStateClient | Android Developers</title>

<!-- STYLESHEETS -->
<link rel="stylesheet"
href="http://fonts.googleapis.com/css?family=Roboto:regular,medium,thin,italic,mediumitalic,bold" title="roboto">
<link href="../../../../../../assets/css/default.css" rel="stylesheet" type="text/css">


<!-- FULLSCREEN STYLESHEET -->
<link href="../../../../../../assets/css/fullscreen.css" rel="stylesheet" class="fullscreen"
type="text/css">


<!-- JAVASCRIPT -->
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script src="../../../../../../assets/js/global-libraries-combined.js" type="text/javascript"></script>
<script type="text/javascript">
  var toRoot = "../../../../../../";
</script>
<script src="../../../../../../assets/js/docs.js" type="text/javascript"></script>

<script src="../../../../../../navtree_data.js" type="text/javascript"></script>

</head>
<body class="gc-documentation 
  develop" itemscope itemtype="http://schema.org/Article">
  <div id="doc-api-level" class="" style="display:none"></div>
  <a name="top"></a>

    <!-- Header -->
    <div id="header">
        <div class="wrap" id="header-wrap">
          <div class="col-3 logo">
          <a href="../../../../../../index.html">
            <img src="../../../../../../assets/images/dac_logo.png" width="123" height="25" alt="Android Developers" />
          </a>
          <div class="btn-quicknav" id="btn-quicknav">
          	<a href="#" class="arrow-inactive">Quicknav</a>
			      <a href="#" class="arrow-active">Quicknav</a>
          </div>
          </div>
            <ul class="nav-x col-9">
                <li class="design">
                  <a href="../../../../../../design/index.html" 
                  zh-TW-lang="設計"
                  zh-CN-lang="设计"
                  ru-lang="Проектирование"
                  ko-lang="디자인"
                  ja-lang="設計"
                  es-lang="Diseñar"               
                  >Design</a></li>
                <li class="develop"><a href="../../../../../../develop/index.html" class="selected"
                  zh-TW-lang="開發"
                  zh-CN-lang="开发"
                  ru-lang="Разработка"
                  ko-lang="개발"
                  ja-lang="開発"
                  es-lang="Desarrollar"               
                  >Develop</a></li>
                <li class="distribute last"><a href="../../../../../../distribute/index.html" 
                  zh-TW-lang="發佈"
                  zh-CN-lang="分发"
                  ru-lang="Распространение"
                  ko-lang="배포"
                  ja-lang="配布"
                  es-lang="Distribuir"               
                  >Distribute</a></li>
            </ul>
            
            <!-- New Search -->
            <div class="menu-container">
            <div class="moremenu">
    <div id="more-btn"></div>
  </div>
  <div class="morehover" id="moremenu">
    <div class="top"></div>
    <div class="mid">
      <div class="header">Links</div>
      <ul>
        <li><a href="https://play.google.com/apps/publish/">Google Play Developer Console</a></li>
        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
        <li><a href="../../../../../../about/index.html">About Android</a></li>
      </ul>
      <div class="header">Android Sites</div>
      <ul>
        <li><a href="http://www.android.com">Android.com</a></li>
        <li class="active"><a>Android Developers</a></li>
        <li><a href="http://source.android.com">Android Open Source Project</a></li>
      </ul>
      <!-- <div class="header">Support</div>
      <ul>
        <li><a href="../../../../../../support.html">Developer Support</a></li>
      </ul> -->
      <div class="header">Languages</div>
        <div id="language" class="locales">
          <select name="language" onChange="changeLangPref(this.value, true)">
              <option value="en">English</option>
              <option value="es">Español</option>
              <option value="ja">日本語</option>
              <option value="ko">한국어</option>
              <option value="ru">Русский</option>
              <option value="zh-CN">中文 (中国)</option>
              <option value="zh-TW">中文 (台灣)</option>
          </select>
        </div>
      <script type="text/javascript">
        <!--  
        loadLangPref();  
          //-->
      </script>
      <br class="clearfix" />
    </div>
    <div class="bottom"></div>
  </div>
  <div class="search" id="search-container">
    <div class="search-inner">
      <div id="search-btn"></div>
      <div class="left"></div>
      <form onsubmit="return submit_search()">
        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
onkeydown="return search_changed(event, true, '../../../../../../')" 
onkeyup="return search_changed(event, false, '../../../../../../')" />
      </form>
      <div class="right"></div>
        <a class="close hide">close</a>
        <div class="left"></div>
        <div class="right"></div>
    </div>
  </div>
  <div id="search_filtered_wrapper">
    <div id="search_filtered_div" class="no-display">
        <ul id="search_filtered">
        </ul>
    </div>
  </div>
  
  </div>
  <!-- /New Search>
          
          
          <!-- Expanded quicknav -->
           <div id="quicknav" class="col-9">
                <ul>
                    <li class="design">
                      <ul>
                        <li><a href="../../../../../../design/index.html">Get Started</a></li>
                        <li><a href="../../../../../../design/style/index.html">Style</a></li>
                        <li><a href="../../../../../../design/patterns/index.html">Patterns</a></li>
                        <li><a href="../../../../../../design/building-blocks/index.html">Building Blocks</a></li>
                        <li><a href="../../../../../../design/downloads/index.html">Downloads</a></li>
                        <li><a href="../../../../../../design/videos/index.html">Videos</a></li>
                      </ul>
                    </li>
                    <li class="develop">
                      <ul>
                        <li><a href="../../../../../../training/index.html"
                          zh-TW-lang="訓練課程"
                          zh-CN-lang="培训"
                          ru-lang="Курсы"
                          ko-lang="교육"
                          ja-lang="トレーニング"
                          es-lang="Capacitación"               
                          >Training</a></li>
                        <li><a href="../../../../../../guide/components/index.html"
                          zh-TW-lang="API 指南"
                          zh-CN-lang="API 指南"
                          ru-lang="Руководства по API"
                          ko-lang="API 가이드"
                          ja-lang="API ガイド"
                          es-lang="Guías de la API"               
                          >API Guides</a></li>
                        <li><a href="../../../../../../reference/packages.html"
                          zh-TW-lang="參考資源"
                          zh-CN-lang="参考"
                          ru-lang="Справочник"
                          ko-lang="참조문서"
                          ja-lang="リファレンス"
                          es-lang="Referencia"               
                          >Reference</a></li>
                        <li><a href="../../../../../../tools/index.html"
                          zh-TW-lang="相關工具"
                          zh-CN-lang="工具"
                          ru-lang="Инструменты"
                          ko-lang="도구"
                          ja-lang="ツール"
                          es-lang="Herramientas"               
                          >Tools</a>
                          <ul><li><a href="../../../../../../sdk/index.html">Get the SDK</a></li></ul>
                        </li>
                        <li><a href="../../../../../../google/index.html">Google Services</a>
                        </li>
                      </ul>
                    </li>
                    <li class="distribute last">
                      <ul>
                        <li><a href="../../../../../../distribute/index.html">Google Play</a></li>
                        <li><a href="../../../../../../distribute/googleplay/publish/index.html">Publishing</a></li>
                        <li><a href="../../../../../../distribute/googleplay/promote/index.html">Promoting</a></li>
                        <li><a href="../../../../../../distribute/googleplay/quality/index.html">App Quality</a></li>
                        <li><a href="../../../../../../distribute/googleplay/spotlight/index.html">Spotlight</a></li>
                        <li><a href="../../../../../../distribute/open.html">Open Distribution</a></li>
                      </ul>
                    </li>
                </ul>
          </div>
          <!-- /Expanded quicknav -->
        </div>
    </div>
    <!-- /Header -->
    
    
  <div id="searchResults" class="wrap" style="display:none;">
          <h2 id="searchTitle">Results</h2>
          <div id="leftSearchControl" class="search-control">Loading...</div>
  </div>
    
    
    

    <!-- Secondary x-nav -->
    <div id="nav-x">
        <div class="wrap">
            <ul class="nav-x col-9 develop" style="width:100%">
                <li><a href="../../../../../../training/index.html" 
                  zh-TW-lang="訓練課程"
                  zh-CN-lang="培训"
                  ru-lang="Курсы"
                  ko-lang="교육"
                  ja-lang="トレーニング"
                  es-lang="Capacitación"               
                  >Training</a></li>
                <li><a href="../../../../../../guide/components/index.html" 
                  zh-TW-lang="API 指南"
                  zh-CN-lang="API 指南"
                  ru-lang="Руководства по API"
                  ko-lang="API 가이드"
                  ja-lang="API ガイド"
                  es-lang="Guías de la API"               
                  >API Guides</a></li>
                <li><a href="../../../../../../reference/packages.html" class="selected"
                  zh-TW-lang="參考資源"
                  zh-CN-lang="参考"
                  ru-lang="Справочник"
                  ko-lang="참조문서"
                  ja-lang="リファレンス"
                  es-lang="Referencia"               
                  >Reference</a></li>
                <li><a href="../../../../../../tools/index.html" 
                  zh-TW-lang="相關工具"
                  zh-CN-lang="工具"
                  ru-lang="Инструменты"
                  ko-lang="도구"
                  ja-lang="ツール"
                  es-lang="Herramientas"
                  >Tools</a></li>
                <li><a href="../../../../../../google/index.html" 
                  >Google Services</a>
                </li>
            </ul>
        </div>
        
    </div>
    <!-- /Sendondary x-nav -->

  


  <div class="wrap clearfix" id="body-content">
    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
      <div id="devdoc-nav">

<a class="totop" href="#top" data-g-event="left-nav-top">to top</a>
      <div id="api-nav-header">
        <div id="api-level-toggle">
          <label for="apiLevelCheckbox" class="disabled">API level: </label>
          <div class="select-wrapper">
            <select id="apiLevelSelector">
              <!-- option elements added by buildApiLevelSelector() -->
            </select>
          </div>
        </div><!-- end toggle -->
        <div id="api-nav-title">Android APIs</div>
        </div><!-- end nav header -->
      <script>
        var SINCE_DATA = [  ];
        buildApiLevelSelector();
      </script>
                  
      <div id="swapper">
        <div id="nav-panels">
          <div id="resize-packages-nav">
            <div id="packages-nav" class="scroll-pane">

              <ul>
              	
    <li class="api apilevel-">
  <a href="../../../../../../reference/com/google/android/gms/package-summary.html">com.google.android.gms</a></li>
    <li class="selected api apilevel-">
  <a href="../../../../../../reference/com/google/android/gms/appstate/package-summary.html">com.google.android.gms.appstate</a></li>
    <li class="api apilevel-">
  <a href="../../../../../../reference/com/google/android/gms/auth/package-summary.html">com.google.android.gms.auth</a></li>
    <li class="api apilevel-">
  <a href="../../../../../../reference/com/google/android/gms/common/package-summary.html">com.google.android.gms.common</a></li>
    <li class="api apilevel-">
  <a href="../../../../../../reference/com/google/android/gms/common/data/package-summary.html">com.google.android.gms.common.data</a></li>
    <li class="api apilevel-">
  <a href="../../../../../../reference/com/google/android/gms/common/images/package-summary.html">com.google.android.gms.common.images</a></li>
    <li class="api apilevel-">
  <a href="../../../../../../reference/com/google/android/gms/games/package-summary.html">com.google.android.gms.games</a></li>
    <li class="api apilevel-">
  <a href="../../../../../../reference/com/google/android/gms/games/achievement/package-summary.html">com.google.android.gms.games.achievement</a></li>
    <li class="api apilevel-">
  <a href="../../../../../../reference/com/google/android/gms/games/leaderboard/package-summary.html">com.google.android.gms.games.leaderboard</a></li>
    <li class="api apilevel-">
  <a href="../../../../../../reference/com/google/android/gms/games/multiplayer/package-summary.html">com.google.android.gms.games.multiplayer</a></li>
    <li class="api apilevel-">
  <a href="../../../../../../reference/com/google/android/gms/games/multiplayer/realtime/package-summary.html">com.google.android.gms.games.multiplayer.realtime</a></li>
    <li class="api apilevel-">
  <a href="../../../../../../reference/com/google/android/gms/gcm/package-summary.html">com.google.android.gms.gcm</a></li>
    <li class="api apilevel-">
  <a href="../../../../../../reference/com/google/android/gms/location/package-summary.html">com.google.android.gms.location</a></li>
    <li class="api apilevel-">
  <a href="../../../../../../reference/com/google/android/gms/maps/package-summary.html">com.google.android.gms.maps</a></li>
    <li class="api apilevel-">
  <a href="../../../../../../reference/com/google/android/gms/maps/model/package-summary.html">com.google.android.gms.maps.model</a></li>
    <li class="api apilevel-">
  <a href="../../../../../../reference/com/google/android/gms/panorama/package-summary.html">com.google.android.gms.panorama</a></li>
    <li class="api apilevel-">
  <a href="../../../../../../reference/com/google/android/gms/plus/package-summary.html">com.google.android.gms.plus</a></li>
    <li class="api apilevel-">
  <a href="../../../../../../reference/com/google/android/gms/plus/model/moments/package-summary.html">com.google.android.gms.plus.model.moments</a></li>
    <li class="api apilevel-">
  <a href="../../../../../../reference/com/google/android/gms/plus/model/people/package-summary.html">com.google.android.gms.plus.model.people</a></li>
              </ul><br/>

            </div> <!-- end packages-nav -->
          </div> <!-- end resize-packages -->
          <div id="classes-nav" class="scroll-pane">



            <ul>
              
    <li><h2>Interfaces</h2>
      <ul>
          <li class="api apilevel-"><a href="../../../../../../reference/com/google/android/gms/appstate/AppState.html">AppState</a></li>
          <li class="api apilevel-"><a href="../../../../../../reference/com/google/android/gms/appstate/OnSignOutCompleteListener.html">OnSignOutCompleteListener</a></li>
          <li class="api apilevel-"><a href="../../../../../../reference/com/google/android/gms/appstate/OnStateDeletedListener.html">OnStateDeletedListener</a></li>
          <li class="api apilevel-"><a href="../../../../../../reference/com/google/android/gms/appstate/OnStateListLoadedListener.html">OnStateListLoadedListener</a></li>
          <li class="api apilevel-"><a href="../../../../../../reference/com/google/android/gms/appstate/OnStateLoadedListener.html">OnStateLoadedListener</a></li>
      </ul>
    </li>
              
    <li><h2>Classes</h2>
      <ul>
          <li class="api apilevel-"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateBuffer.html">AppStateBuffer</a></li>
          <li class="selected api apilevel-"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html">AppStateClient</a></li>
          <li class="api apilevel-"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.Builder.html">AppStateClient.Builder</a></li>
      </ul>
    </li>
              
              
              
            </ul><br/>
        

          </div><!-- end classes -->
        </div><!-- end nav-panels -->
        <div id="nav-tree" style="display:none" class="scroll-pane">
          <div id="tree-list"></div>
        </div><!-- end nav-tree -->
      </div><!-- end swapper -->
      <div id="nav-swap">
      <a class="fullscreen">fullscreen</a>
      <a href='#' onclick='swapNav();return false;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>
      </div>
    </div> <!-- end devdoc-nav -->
    </div> <!-- end side-nav -->
    <script type="text/javascript">
      // init fullscreen based on user pref
      var fullscreen = readCookie("fullscreen");
      if (fullscreen != 0) {
        if (fullscreen == "false") {
          toggleFullscreen(false);
        } else {
          toggleFullscreen(true);
        }
      }
      // init nav version for mobile
      if (isMobile) {
        swapNav(); // tree view should be used on mobile
        $('#nav-swap').hide();
      } else {
        chooseDefaultNav();
        if ($("#nav-tree").is(':visible')) {
          init_default_navtree("../../../../../../");
        }
      }
      // scroll the selected page into view
      $(document).ready(function() {
        scrollIntoView("packages-nav");
        scrollIntoView("classes-nav");
        });
    </script>

     
    <script>
      $(document).ready(function() {
        changeDocLang(getLangPref());
        });
    </script>



<div class="col-12"  id="doc-col">

<div id="api-info-block">



  
   
  
  
  
  

  
   
  
  
  
  


<div class="sum-details-links">

Summary:

  <a href="#nestedclasses">Nested Classes</a>
  





  &#124; <a href="#constants">Constants</a>
  







  &#124; <a href="#pubmethods">Methods</a>
  



  &#124; <a href="#inhmethods">Inherited Methods</a>

&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>

</div><!-- end sum-details-links -->
<div class="api-level">
  
  
  

</div>
</div><!-- end api-info-block -->


<!-- ======== START OF CLASS DATA ======== -->

<div id="jd-header">
    public
     
    final 
    
    class
<h1 itemprop="name">AppStateClient</h1>



  
    extends Object<br/>
  
  
  

  
  
      implements 
      
        <a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.html">GooglePlayServicesClient</a> 
      
  
  


</div><!-- end header -->

<div id="naMessage"></div>

<div id="jd-content" class="api apilevel-">
<table class="jd-inheritance-table">


    <tr>
         	
        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
    </tr>
    

    <tr>
        
            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>
         	
        <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.appstate.AppStateClient</td>
    </tr>
    

</table>







<div class="jd-descr">


<h2>Class Overview</h2>
<p itemprop="articleBody">Main public API entry point for the AppState client.
</p>





</div><!-- jd-descr -->
















<div class="jd-descr">


<h2>Summary</h2>



<!-- ======== NESTED CLASS SUMMARY ======== -->
<table id="nestedclasses" class="jd-sumtable"><tr><th colspan="12">Nested Classes</th></tr>


  
    <tr class="alt-color api apilevel-" >
      <td class="jd-typecol"><nobr>
        
         
         
        
        class</nobr></td>
      <td class="jd-linkcol"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.Builder.html">AppStateClient.Builder</a></td>
      <td class="jd-descrcol" width="100%">Builder class for AppStateClient.&nbsp;</td>
    </tr>
    
    













<!-- =========== ENUM CONSTANT SUMMARY =========== -->
<table id="constants" class="jd-sumtable"><tr><th colspan="12">Constants</th></tr>


    
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol">int</td>
        <td class="jd-linkcol"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#STATUS_CLIENT_RECONNECT_REQUIRED">STATUS_CLIENT_RECONNECT_REQUIRED</a></td>
        <td class="jd-descrcol" width="100%">The AppStateClient is in an inconsistent state and must reconnect to the service to resolve
 the issue.</td>
    </tr>
    
    
    <tr class=" api apilevel-" >
        <td class="jd-typecol">int</td>
        <td class="jd-linkcol"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#STATUS_DEVELOPER_ERROR">STATUS_DEVELOPER_ERROR</a></td>
        <td class="jd-descrcol" width="100%">Your application is incorrectly configured.</td>
    </tr>
    
    
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol">int</td>
        <td class="jd-linkcol"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#STATUS_INTERNAL_ERROR">STATUS_INTERNAL_ERROR</a></td>
        <td class="jd-descrcol" width="100%">An unspecified error occurred; no more specific information is available.</td>
    </tr>
    
    
    <tr class=" api apilevel-" >
        <td class="jd-typecol">int</td>
        <td class="jd-linkcol"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#STATUS_NETWORK_ERROR_NO_DATA">STATUS_NETWORK_ERROR_NO_DATA</a></td>
        <td class="jd-descrcol" width="100%">A network error occurred while attempting to retrieve fresh data, and no data was available
 locally.</td>
    </tr>
    
    
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol">int</td>
        <td class="jd-linkcol"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#STATUS_NETWORK_ERROR_OPERATION_DEFERRED">STATUS_NETWORK_ERROR_OPERATION_DEFERRED</a></td>
        <td class="jd-descrcol" width="100%">A network error occurred while attempting to modify data, but the data was successfully
 modified locally and will be updated on the network the next time the device is able to sync.</td>
    </tr>
    
    
    <tr class=" api apilevel-" >
        <td class="jd-typecol">int</td>
        <td class="jd-linkcol"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#STATUS_NETWORK_ERROR_OPERATION_FAILED">STATUS_NETWORK_ERROR_OPERATION_FAILED</a></td>
        <td class="jd-descrcol" width="100%">A network error occurred while attempting to perform an operation that requires network
 access.</td>
    </tr>
    
    
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol">int</td>
        <td class="jd-linkcol"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#STATUS_NETWORK_ERROR_STALE_DATA">STATUS_NETWORK_ERROR_STALE_DATA</a></td>
        <td class="jd-descrcol" width="100%">A network error occurred while attempting to retrieve fresh data, but some locally cached
 data was available.</td>
    </tr>
    
    
    <tr class=" api apilevel-" >
        <td class="jd-typecol">int</td>
        <td class="jd-linkcol"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#STATUS_OK">STATUS_OK</a></td>
        <td class="jd-descrcol" width="100%">The operation was successful.</td>
    </tr>
    
    
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol">int</td>
        <td class="jd-linkcol"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#STATUS_STATE_KEY_LIMIT_EXCEEDED">STATUS_STATE_KEY_LIMIT_EXCEEDED</a></td>
        <td class="jd-descrcol" width="100%">The application already has data in the maximum number of keys (data slots) and is attempting
 to create a new one.</td>
    </tr>
    
    
    <tr class=" api apilevel-" >
        <td class="jd-typecol">int</td>
        <td class="jd-linkcol"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#STATUS_STATE_KEY_NOT_FOUND">STATUS_STATE_KEY_NOT_FOUND</a></td>
        <td class="jd-descrcol" width="100%">The requested state key was not found.</td>
    </tr>
    
    
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol">int</td>
        <td class="jd-linkcol"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#STATUS_WRITE_OUT_OF_DATE_VERSION">STATUS_WRITE_OUT_OF_DATE_VERSION</a></td>
        <td class="jd-descrcol" width="100%">A version conflict was detected.</td>
    </tr>
    
    
    <tr class=" api apilevel-" >
        <td class="jd-typecol">int</td>
        <td class="jd-linkcol"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#STATUS_WRITE_SIZE_EXCEEDED">STATUS_WRITE_SIZE_EXCEEDED</a></td>
        <td class="jd-descrcol" width="100%">A write request was submitted which contained too much data for the server.</td>
    </tr>
    
    

</table>
















<!-- ========== METHOD SUMMARY =========== -->
<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>



	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#connect()">connect</a></span>()</nobr>
        
        <div class="jd-descrdiv">Connect to the app state service.</div>
  
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#deleteState(com.google.android.gms.appstate.OnStateDeletedListener, int)">deleteState</a></span>(<a href="../../../../../../reference/com/google/android/gms/appstate/OnStateDeletedListener.html">OnStateDeletedListener</a> listener, int stateKey)</nobr>
        
        <div class="jd-descrdiv">Delete the state data for the current app.</div>
  
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#disconnect()">disconnect</a></span>()</nobr>
        
        <div class="jd-descrdiv">Closes the connection to Google Play services.</div>
  
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            int</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#getMaxNumKeys()">getMaxNumKeys</a></span>()</nobr>
        
        <div class="jd-descrdiv">Gets the maximum number of keys that an app can store data in simultaneously.</div>
  
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            int</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#getMaxStateSize()">getMaxStateSize</a></span>()</nobr>
        
        <div class="jd-descrdiv">Gets the maximum app state size per state key in bytes.</div>
  
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            boolean</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#isConnected()">isConnected</a></span>()</nobr>
        
        <div class="jd-descrdiv">Checks if the client is currently connected to the service, so that
 requests to other methods will succeed.</div>
  
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            boolean</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#isConnecting()">isConnecting</a></span>()</nobr>
        
        <div class="jd-descrdiv">Checks if the client is attempting to connect to the service.</div>
  
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            boolean</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#isConnectionCallbacksRegistered(com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks)">isConnectionCallbacksRegistered</a></span>(<a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html">GooglePlayServicesClient.ConnectionCallbacks</a> listener)</nobr>
        
        <div class="jd-descrdiv">Returns true if the specified listener is currently registered to
 receive connection events.</div>
  
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            boolean</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#isConnectionFailedListenerRegistered(com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener)">isConnectionFailedListenerRegistered</a></span>(<a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.OnConnectionFailedListener.html">GooglePlayServicesClient.OnConnectionFailedListener</a> listener)</nobr>
        
        <div class="jd-descrdiv">Returns true if the specified listener is currently registered to
 receive connection failed events.</div>
  
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#listStates(com.google.android.gms.appstate.OnStateListLoadedListener)">listStates</a></span>(<a href="../../../../../../reference/com/google/android/gms/appstate/OnStateListLoadedListener.html">OnStateListLoadedListener</a> listener)</nobr>
        
        <div class="jd-descrdiv">Asynchronously lists all the saved states for the current app.</div>
  
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#loadState(com.google.android.gms.appstate.OnStateLoadedListener, int)">loadState</a></span>(<a href="../../../../../../reference/com/google/android/gms/appstate/OnStateLoadedListener.html">OnStateLoadedListener</a> listener, int stateKey)</nobr>
        
        <div class="jd-descrdiv">Asynchronously loads saved state for the current app.</div>
  
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#reconnect()">reconnect</a></span>()</nobr>
        
        <div class="jd-descrdiv">Closes the current connection to Google Play services and creates a new connection.</div>
  
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#registerConnectionCallbacks(com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks)">registerConnectionCallbacks</a></span>(<a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html">GooglePlayServicesClient.ConnectionCallbacks</a> listener)</nobr>
        
        <div class="jd-descrdiv">Registers a listener to receive connection events from this <code>GooglePlayServicesClient</code>.</div>
  
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#registerConnectionFailedListener(com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener)">registerConnectionFailedListener</a></span>(<a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.OnConnectionFailedListener.html">GooglePlayServicesClient.OnConnectionFailedListener</a> listener)</nobr>
        
        <div class="jd-descrdiv">Registers a listener to receive connection failed events from this
 <code>GooglePlayServicesClient</code>.</div>
  
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#resolveState(com.google.android.gms.appstate.OnStateLoadedListener, int, java.lang.String, byte[])">resolveState</a></span>(<a href="../../../../../../reference/com/google/android/gms/appstate/OnStateLoadedListener.html">OnStateLoadedListener</a> listener, int stateKey, String resolvedVersion, byte[] resolvedData)</nobr>
        
        <div class="jd-descrdiv">Resolve a previously detected conflict in app state data.</div>
  
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#signOut(com.google.android.gms.appstate.OnSignOutCompleteListener)">signOut</a></span>(<a href="../../../../../../reference/com/google/android/gms/appstate/OnSignOutCompleteListener.html">OnSignOutCompleteListener</a> listener)</nobr>
        
        <div class="jd-descrdiv">Asynchronously signs the current user out.</div>
  
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#signOut()">signOut</a></span>()</nobr>
        
        <div class="jd-descrdiv">Asynchronously signs the current user out.</div>
  
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#unregisterConnectionCallbacks(com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks)">unregisterConnectionCallbacks</a></span>(<a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html">GooglePlayServicesClient.ConnectionCallbacks</a> listener)</nobr>
        
        <div class="jd-descrdiv">Removes a connection listener from this <code>GooglePlayServicesClient</code>.</div>
  
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#unregisterConnectionFailedListener(com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener)">unregisterConnectionFailedListener</a></span>(<a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.OnConnectionFailedListener.html">GooglePlayServicesClient.OnConnectionFailedListener</a> listener)</nobr>
        
        <div class="jd-descrdiv">Removes a connection failed listener from the <code>GooglePlayServicesClient</code>.</div>
  
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#updateState(int, byte[])">updateState</a></span>(int stateKey, byte[] data)</nobr>
        
        <div class="jd-descrdiv">Updates app state for the current app.</div>
  
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#updateStateImmediate(com.google.android.gms.appstate.OnStateLoadedListener, int, byte[])">updateStateImmediate</a></span>(<a href="../../../../../../reference/com/google/android/gms/appstate/OnStateLoadedListener.html">OnStateLoadedListener</a> listener, int stateKey, byte[] data)</nobr>
        
        <div class="jd-descrdiv">Updates app state for the current app.</div>
  
  </td></tr>



</table>







<!-- ========== METHOD SUMMARY =========== -->
<table id="inhmethods" class="jd-sumtable"><tr><th>
  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
  <div style="clear:left;">Inherited Methods</div></th></tr>


<tr class="api apilevel-" >
<td colspan="12">
  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
          ><img id="inherited-methods-java.lang.Object-trigger"
          src="../../../../../../assets/images/triangle-closed.png"
          class="jd-expando-trigger-img" /></a>
From class

  java.lang.Object

<div id="inherited-methods-java.lang.Object">
  <div id="inherited-methods-java.lang.Object-list"
        class="jd-inheritedlinks">
  </div>
  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
    <table class="jd-sumtable-expando">
    


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            Object</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">clone</span>()</nobr>
        
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            boolean</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">equals</span>(Object arg0)</nobr>
        
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">finalize</span>()</nobr>
        
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            final
            
            
            Class&lt;?&gt;</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">getClass</span>()</nobr>
        
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            int</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">hashCode</span>()</nobr>
        
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            final
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">notify</span>()</nobr>
        
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            final
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">notifyAll</span>()</nobr>
        
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            
            
            
            String</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">toString</span>()</nobr>
        
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            final
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">wait</span>()</nobr>
        
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            final
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>
        
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            
            
            final
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">wait</span>(long arg0)</nobr>
        
  </td></tr>


</table>
  </div>
</div>
</td></tr>



<tr class="api apilevel-" >
<td colspan="12">
  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-com.google.android.gms.common.GooglePlayServicesClient" class="jd-expando-trigger closed"
          ><img id="inherited-methods-com.google.android.gms.common.GooglePlayServicesClient-trigger"
          src="../../../../../../assets/images/triangle-closed.png"
          class="jd-expando-trigger-img" /></a>
From interface

  <a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.html">com.google.android.gms.common.GooglePlayServicesClient</a>

<div id="inherited-methods-com.google.android.gms.common.GooglePlayServicesClient">
  <div id="inherited-methods-com.google.android.gms.common.GooglePlayServicesClient-list"
        class="jd-inheritedlinks">
  </div>
  <div id="inherited-methods-com.google.android.gms.common.GooglePlayServicesClient-summary" style="display: none;">
    <table class="jd-sumtable-expando">
    


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            abstract
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.html#connect()">connect</a></span>()</nobr>
        
        <div class="jd-descrdiv">Connects the client to Google Play services.</div>
  
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            abstract
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.html#disconnect()">disconnect</a></span>()</nobr>
        
        <div class="jd-descrdiv">Closes the connection to Google Play services.</div>
  
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            abstract
            
            
            
            
            boolean</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.html#isConnected()">isConnected</a></span>()</nobr>
        
        <div class="jd-descrdiv">Checks if the client is currently connected to the service, so that
 requests to other methods will succeed.</div>
  
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            abstract
            
            
            
            
            boolean</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.html#isConnecting()">isConnecting</a></span>()</nobr>
        
        <div class="jd-descrdiv">Checks if the client is attempting to connect to the service.</div>
  
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            abstract
            
            
            
            
            boolean</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.html#isConnectionCallbacksRegistered(com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks)">isConnectionCallbacksRegistered</a></span>(<a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html">GooglePlayServicesClient.ConnectionCallbacks</a> listener)</nobr>
        
        <div class="jd-descrdiv">Returns true if the specified listener is currently registered to
 receive connection events.</div>
  
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            abstract
            
            
            
            
            boolean</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.html#isConnectionFailedListenerRegistered(com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener)">isConnectionFailedListenerRegistered</a></span>(<a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.OnConnectionFailedListener.html">GooglePlayServicesClient.OnConnectionFailedListener</a> listener)</nobr>
        
        <div class="jd-descrdiv">Returns true if the specified listener is currently registered to
 receive connection failed events.</div>
  
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            abstract
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.html#registerConnectionCallbacks(com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks)">registerConnectionCallbacks</a></span>(<a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html">GooglePlayServicesClient.ConnectionCallbacks</a> listener)</nobr>
        
        <div class="jd-descrdiv">Registers a listener to receive connection events from this <code>GooglePlayServicesClient</code>.</div>
  
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            abstract
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.html#registerConnectionFailedListener(com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener)">registerConnectionFailedListener</a></span>(<a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.OnConnectionFailedListener.html">GooglePlayServicesClient.OnConnectionFailedListener</a> listener)</nobr>
        
        <div class="jd-descrdiv">Registers a listener to receive connection failed events from this
 <code>GooglePlayServicesClient</code>.</div>
  
  </td></tr>


	 
    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            abstract
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.html#unregisterConnectionCallbacks(com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks)">unregisterConnectionCallbacks</a></span>(<a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html">GooglePlayServicesClient.ConnectionCallbacks</a> listener)</nobr>
        
        <div class="jd-descrdiv">Removes a connection listener from this <code>GooglePlayServicesClient</code>.</div>
  
  </td></tr>


	 
    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            abstract
            
            
            
            
            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.html#unregisterConnectionFailedListener(com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener)">unregisterConnectionFailedListener</a></span>(<a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.OnConnectionFailedListener.html">GooglePlayServicesClient.OnConnectionFailedListener</a> listener)</nobr>
        
        <div class="jd-descrdiv">Removes a connection failed listener from the <code>GooglePlayServicesClient</code>.</div>
  
  </td></tr>


</table>
  </div>
</div>
</td></tr>


</table>


</div><!-- jd-descr (summary) -->

<!-- Details -->








<!-- XML Attributes -->


<!-- Enum Values -->


<!-- Constants -->


<!-- ========= ENUM CONSTANTS DETAIL ======== -->
<h2>Constants</h2>




<A NAME="STATUS_CLIENT_RECONNECT_REQUIRED"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
        final 
        int
      </span>
        STATUS_CLIENT_RECONNECT_REQUIRED
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>The AppStateClient is in an inconsistent state and must reconnect to the service to resolve
 the issue. Further calls to the service using the current connection are unlikely to succeed.
</p></div>

    
        <div class="jd-tagdata">
        <span class="jd-tagtitle">Constant Value: </span>
        <span>
            
                2
                (0x00000002)
            
        </span>
        </div>
    
    </div>
</div>



<A NAME="STATUS_DEVELOPER_ERROR"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
        final 
        int
      </span>
        STATUS_DEVELOPER_ERROR
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>Your application is incorrectly configured. This is a hard error, since retrying will not fix
 this.
</p></div>

    
        <div class="jd-tagdata">
        <span class="jd-tagtitle">Constant Value: </span>
        <span>
            
                7
                (0x00000007)
            
        </span>
        </div>
    
    </div>
</div>



<A NAME="STATUS_INTERNAL_ERROR"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
        final 
        int
      </span>
        STATUS_INTERNAL_ERROR
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>An unspecified error occurred; no more specific information is available. The device logs may
 provide additional data.
</p></div>

    
        <div class="jd-tagdata">
        <span class="jd-tagtitle">Constant Value: </span>
        <span>
            
                1
                (0x00000001)
            
        </span>
        </div>
    
    </div>
</div>



<A NAME="STATUS_NETWORK_ERROR_NO_DATA"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
        final 
        int
      </span>
        STATUS_NETWORK_ERROR_NO_DATA
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>A network error occurred while attempting to retrieve fresh data, and no data was available
 locally.
</p></div>

    
        <div class="jd-tagdata">
        <span class="jd-tagtitle">Constant Value: </span>
        <span>
            
                4
                (0x00000004)
            
        </span>
        </div>
    
    </div>
</div>



<A NAME="STATUS_NETWORK_ERROR_OPERATION_DEFERRED"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
        final 
        int
      </span>
        STATUS_NETWORK_ERROR_OPERATION_DEFERRED
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>A network error occurred while attempting to modify data, but the data was successfully
 modified locally and will be updated on the network the next time the device is able to sync.
</p></div>

    
        <div class="jd-tagdata">
        <span class="jd-tagtitle">Constant Value: </span>
        <span>
            
                5
                (0x00000005)
            
        </span>
        </div>
    
    </div>
</div>



<A NAME="STATUS_NETWORK_ERROR_OPERATION_FAILED"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
        final 
        int
      </span>
        STATUS_NETWORK_ERROR_OPERATION_FAILED
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>A network error occurred while attempting to perform an operation that requires network
 access. The operation may be retried later.
</p></div>

    
        <div class="jd-tagdata">
        <span class="jd-tagtitle">Constant Value: </span>
        <span>
            
                6
                (0x00000006)
            
        </span>
        </div>
    
    </div>
</div>



<A NAME="STATUS_NETWORK_ERROR_STALE_DATA"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
        final 
        int
      </span>
        STATUS_NETWORK_ERROR_STALE_DATA
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>A network error occurred while attempting to retrieve fresh data, but some locally cached
 data was available. The data returned may be stale and/or incomplete.
</p></div>

    
        <div class="jd-tagdata">
        <span class="jd-tagtitle">Constant Value: </span>
        <span>
            
                3
                (0x00000003)
            
        </span>
        </div>
    
    </div>
</div>



<A NAME="STATUS_OK"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
        final 
        int
      </span>
        STATUS_OK
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>The operation was successful.
</p></div>

    
        <div class="jd-tagdata">
        <span class="jd-tagtitle">Constant Value: </span>
        <span>
            
                0
                (0x00000000)
            
        </span>
        </div>
    
    </div>
</div>



<A NAME="STATUS_STATE_KEY_LIMIT_EXCEEDED"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
        final 
        int
      </span>
        STATUS_STATE_KEY_LIMIT_EXCEEDED
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>The application already has data in the maximum number of keys (data slots) and is attempting
 to create a new one. This is a hard error. Subsequent writes to this same key will only
 succeed after some number of keys have been deleted.
</p></div>

    
        <div class="jd-tagdata">
        <span class="jd-tagtitle">Constant Value: </span>
        <span>
            
                2003
                (0x000007d3)
            
        </span>
        </div>
    
    </div>
</div>



<A NAME="STATUS_STATE_KEY_NOT_FOUND"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
        final 
        int
      </span>
        STATUS_STATE_KEY_NOT_FOUND
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>The requested state key was not found. This means that the server did not have data for us
 when we successfully made a network request.
</p></div>

    
        <div class="jd-tagdata">
        <span class="jd-tagtitle">Constant Value: </span>
        <span>
            
                2002
                (0x000007d2)
            
        </span>
        </div>
    
    </div>
</div>



<A NAME="STATUS_WRITE_OUT_OF_DATE_VERSION"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
        final 
        int
      </span>
        STATUS_WRITE_OUT_OF_DATE_VERSION
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>A version conflict was detected. This means that we have a local version of the data which is
 out of sync with the server.
</p></div>

    
        <div class="jd-tagdata">
        <span class="jd-tagtitle">Constant Value: </span>
        <span>
            
                2000
                (0x000007d0)
            
        </span>
        </div>
    
    </div>
</div>



<A NAME="STATUS_WRITE_SIZE_EXCEEDED"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
        static 
        final 
        int
      </span>
        STATUS_WRITE_SIZE_EXCEEDED
    </h4>
      <div class="api-level">
        
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>A write request was submitted which contained too much data for the server. This should only
 occur if we change the app state size restrictions, or if someone is modifying their database
 directly.
</p></div>

    
        <div class="jd-tagdata">
        <span class="jd-tagtitle">Constant Value: </span>
        <span>
            
                2001
                (0x000007d1)
            
        </span>
        </div>
    
    </div>
</div>




<!-- Fields -->


<!-- Public ctors -->



<!-- ========= CONSTRUCTOR DETAIL ======== -->
<!-- Protected ctors -->



<!-- ========= METHOD DETAIL ======== -->
<!-- Public methdos -->

<h2>Public Methods</h2>



<A NAME="connect()"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        void
      </span>
      <span class="sympad">connect</span>
      <span class="normal">()</span>
    </h4>
      <div class="api-level">
        <div></div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>Connect to the app state service. This method will return immediately, and
 <code><a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html#onConnected(android.os.Bundle)">onConnected(Bundle)</a></code> will be called if the
 connection is successful.</p></div>
  <div class="jd-tagdata">
      <h5 class="jd-tagtitle">See Also</h5>
      <ul class="nolist"><li><code><a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.html#connect()">connect()</a></code></li>
      </ul>
  </div>

    </div>
</div>


<A NAME="deleteState(com.google.android.gms.appstate.OnStateDeletedListener, int)"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        void
      </span>
      <span class="sympad">deleteState</span>
      <span class="normal">(<a href="../../../../../../reference/com/google/android/gms/appstate/OnStateDeletedListener.html">OnStateDeletedListener</a> listener, int stateKey)</span>
    </h4>
      <div class="api-level">
        <div></div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>Delete the state data for the current app. This method will delete all data associated with
 the provided key, as well as removing the key itself.
 <p>
 Note that this API is not version safe. This means that it is possible to accidentally delete
 a user's data using this API. For a version safe alternative, consider using
 <code><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#updateState(int, byte[])">updateState(int, byte[])</a></code> with <code>null</code> data instead.</p></div>
  <div class="jd-tagdata">
      <h5 class="jd-tagtitle">Parameters</h5>
      <table class="jd-tagtable">
        <tr>
          <th>listener</td>
          <td>The listener that is called when the load is complete. This listener is
            required to be non-null. The listener is called on the main thread.</td>
        </tr>
        <tr>
          <th>stateKey</td>
          <td>The key to clear data for. Must be a non-negative integer less than
            <code><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#getMaxNumKeys()">getMaxNumKeys()</a></code>.
</td>
        </tr>
      </table>
  </div>

    </div>
</div>


<A NAME="disconnect()"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        void
      </span>
      <span class="sympad">disconnect</span>
      <span class="normal">()</span>
    </h4>
      <div class="api-level">
        <div></div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>Closes the connection to Google Play services. No calls can be made on this object
 after calling this method.</p></div>

    </div>
</div>


<A NAME="getMaxNumKeys()"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        int
      </span>
      <span class="sympad">getMaxNumKeys</span>
      <span class="normal">()</span>
    </h4>
      <div class="api-level">
        <div></div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>Gets the maximum number of keys that an app can store data in simultaneously.
 <p>
 If the service cannot be reached for some reason, this will return
 <code><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#STATUS_CLIENT_RECONNECT_REQUIRED">STATUS_CLIENT_RECONNECT_REQUIRED</a></code>. In this case, no further operations should be
 attempted until after the client has reconnected.</p></div>
  <div class="jd-tagdata">
      <h5 class="jd-tagtitle">Returns</h5>
      <ul class="nolist"><li>The maximum number of keys that an app can use for data.
</li></ul>
  </div>

    </div>
</div>


<A NAME="getMaxStateSize()"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        int
      </span>
      <span class="sympad">getMaxStateSize</span>
      <span class="normal">()</span>
    </h4>
      <div class="api-level">
        <div></div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>Gets the maximum app state size per state key in bytes. Guaranteed to be at least 128 KB. May
 increase in the future.
 <p>
 If the service cannot be reached for some reason, this will return
 <code><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#STATUS_CLIENT_RECONNECT_REQUIRED">STATUS_CLIENT_RECONNECT_REQUIRED</a></code>. In this case, no further operations should be
 attempted until after the client has reconnected.</p></div>
  <div class="jd-tagdata">
      <h5 class="jd-tagtitle">Returns</h5>
      <ul class="nolist"><li>The maximum state size that can be stored with a given state key in bytes.
</li></ul>
  </div>

    </div>
</div>


<A NAME="isConnected()"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        boolean
      </span>
      <span class="sympad">isConnected</span>
      <span class="normal">()</span>
    </h4>
      <div class="api-level">
        <div></div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>Checks if the client is currently connected to the service, so that
 requests to other methods will succeed.  Applications should guard
 client actions caused by the user with a call to this method.</p></div>
  <div class="jd-tagdata">
      <h5 class="jd-tagtitle">Returns</h5>
      <ul class="nolist"><li>true if the client is connected to the service.
</li></ul>
  </div>

    </div>
</div>


<A NAME="isConnecting()"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        boolean
      </span>
      <span class="sympad">isConnecting</span>
      <span class="normal">()</span>
    </h4>
      <div class="api-level">
        <div></div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>Checks if the client is attempting to connect to the service.</p></div>
  <div class="jd-tagdata">
      <h5 class="jd-tagtitle">Returns</h5>
      <ul class="nolist"><li>true if the client is attempting to connect to the service.
</li></ul>
  </div>

    </div>
</div>


<A NAME="isConnectionCallbacksRegistered(com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks)"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        boolean
      </span>
      <span class="sympad">isConnectionCallbacksRegistered</span>
      <span class="normal">(<a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html">GooglePlayServicesClient.ConnectionCallbacks</a> listener)</span>
    </h4>
      <div class="api-level">
        <div></div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>Returns true if the specified listener is currently registered to
 receive connection events.</p></div>
  <div class="jd-tagdata">
      <h5 class="jd-tagtitle">Parameters</h5>
      <table class="jd-tagtable">
        <tr>
          <th>listener</td>
          <td>The listener to check for.</td>
        </tr>
      </table>
  </div>
  <div class="jd-tagdata">
      <h5 class="jd-tagtitle">Returns</h5>
      <ul class="nolist"><li>true if the specified listener is currently registered to receive connection
             events.</li></ul>
  </div>

    </div>
</div>


<A NAME="isConnectionFailedListenerRegistered(com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener)"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        boolean
      </span>
      <span class="sympad">isConnectionFailedListenerRegistered</span>
      <span class="normal">(<a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.OnConnectionFailedListener.html">GooglePlayServicesClient.OnConnectionFailedListener</a> listener)</span>
    </h4>
      <div class="api-level">
        <div></div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>Returns true if the specified listener is currently registered to
 receive connection failed events.</p></div>
  <div class="jd-tagdata">
      <h5 class="jd-tagtitle">Parameters</h5>
      <table class="jd-tagtable">
        <tr>
          <th>listener</td>
          <td>The listener to check for.</td>
        </tr>
      </table>
  </div>
  <div class="jd-tagdata">
      <h5 class="jd-tagtitle">Returns</h5>
      <ul class="nolist"><li>true if the specified listener is currently registered to receive connection
             failed events.</li></ul>
  </div>

    </div>
</div>


<A NAME="listStates(com.google.android.gms.appstate.OnStateListLoadedListener)"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        void
      </span>
      <span class="sympad">listStates</span>
      <span class="normal">(<a href="../../../../../../reference/com/google/android/gms/appstate/OnStateListLoadedListener.html">OnStateListLoadedListener</a> listener)</span>
    </h4>
      <div class="api-level">
        <div></div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>Asynchronously lists all the saved states for the current app.
 <p>
 The result is delivered to the given listener on the main thread. If <code><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#disconnect()">disconnect()</a></code> is
 called before the result is ready it will not be delivered.</p></div>
  <div class="jd-tagdata">
      <h5 class="jd-tagtitle">Parameters</h5>
      <table class="jd-tagtable">
        <tr>
          <th>listener</td>
          <td>The listener that is called when the load is complete. This listener is
            required to be non-null. The listener is called on the main thread.
</td>
        </tr>
      </table>
  </div>

    </div>
</div>


<A NAME="loadState(com.google.android.gms.appstate.OnStateLoadedListener, int)"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        void
      </span>
      <span class="sympad">loadState</span>
      <span class="normal">(<a href="../../../../../../reference/com/google/android/gms/appstate/OnStateLoadedListener.html">OnStateLoadedListener</a> listener, int stateKey)</span>
    </h4>
      <div class="api-level">
        <div></div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>Asynchronously loads saved state for the current app.
 <p>
 The result is delivered to the given listener on the main thread. If <code><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#disconnect()">disconnect()</a></code> is
 called before the result is ready it will not be delivered.</p></div>
  <div class="jd-tagdata">
      <h5 class="jd-tagtitle">Parameters</h5>
      <table class="jd-tagtable">
        <tr>
          <th>listener</td>
          <td>The listener that is called when the load is complete. This listener is
            required to be non-null. The listener is called on the main thread.</td>
        </tr>
        <tr>
          <th>stateKey</td>
          <td>The key to load data for. Must be a non-negative integer less than
            <code><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#getMaxNumKeys()">getMaxNumKeys()</a></code>.
</td>
        </tr>
      </table>
  </div>

    </div>
</div>


<A NAME="reconnect()"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        void
      </span>
      <span class="sympad">reconnect</span>
      <span class="normal">()</span>
    </h4>
      <div class="api-level">
        <div></div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>Closes the current connection to Google Play services and creates a new connection.
 <p>
 This method closes the current connection then returns immediately and reconnects to the
 service in the background.
 <p>
 This method will call <code><a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html#onDisconnected()">onDisconnected()</a></code>
 followed by either <code><a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html#onConnected(android.os.Bundle)">onConnected(Bundle)</a></code>
 if the connection is successful or
 <code><a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.OnConnectionFailedListener.html#onConnectionFailed(com.google.android.gms.common.ConnectionResult)">onConnectionFailed(ConnectionResult)</a></code> on a failure.</p></div>
  <div class="jd-tagdata">
      <h5 class="jd-tagtitle">See Also</h5>
      <ul class="nolist"><li><code><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#connect()">connect()</a></code></li><li><code><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#disconnect()">disconnect()</a></code></li><li><code><a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.html#connect()">connect()</a></code></li>
      </ul>
  </div>

    </div>
</div>


<A NAME="registerConnectionCallbacks(com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks)"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        void
      </span>
      <span class="sympad">registerConnectionCallbacks</span>
      <span class="normal">(<a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html">GooglePlayServicesClient.ConnectionCallbacks</a> listener)</span>
    </h4>
      <div class="api-level">
        <div></div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>Registers a listener to receive connection events from this <code>GooglePlayServicesClient</code>.
 If the service is already connected, the listener's <code><a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html#onConnected(android.os.Bundle)">onConnected(Bundle)</a></code>
 method will be called immediately.  Applications should balance calls to this method with
 calls to <code><a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.html#unregisterConnectionCallbacks(com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks)">unregisterConnectionCallbacks(ConnectionCallbacks)</a></code> to avoid leaking
 resources.
 <p>
 If the specified listener is already registered to receive connection events, this
 method will not add a duplicate entry for the same listener, but <strong>will</strong>
 still call the listener's <code><a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html#onConnected(android.os.Bundle)">onConnected(Bundle)</a></code> method if currently
 connected.
 <p>
 Note that the order of messages received here may not be stable, so clients should not rely
 on the order that multiple listeners receive events in.</p></div>
  <div class="jd-tagdata">
      <h5 class="jd-tagtitle">Parameters</h5>
      <table class="jd-tagtable">
        <tr>
          <th>listener</td>
          <td>the listener where the results of the asynchronous <code><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#connect()">connect()</a></code> call are
            delivered.
</td>
        </tr>
      </table>
  </div>

    </div>
</div>


<A NAME="registerConnectionFailedListener(com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener)"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        void
      </span>
      <span class="sympad">registerConnectionFailedListener</span>
      <span class="normal">(<a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.OnConnectionFailedListener.html">GooglePlayServicesClient.OnConnectionFailedListener</a> listener)</span>
    </h4>
      <div class="api-level">
        <div></div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>Registers a listener to receive connection failed events from this
 <code>GooglePlayServicesClient</code>. Unlike <code><a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.html#registerConnectionCallbacks(com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks)">registerConnectionCallbacks(GooglePlayServicesClient.ConnectionCallbacks)</a></code>, if the service
 is not already connected, the listener's
 <code><a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.OnConnectionFailedListener.html#onConnectionFailed(com.google.android.gms.common.ConnectionResult)">onConnectionFailed(ConnectionResult)</a></code> method will not be called immediately.
 Applications should balance calls to this method with calls to
 <code><a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.html#unregisterConnectionFailedListener(com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener)">unregisterConnectionFailedListener(OnConnectionFailedListener)</a></code> to avoid leaking
 resources.
 <p>
 If the specified listener is already registered to receive connection failed events, this
 method will not add a duplicate entry for the same listener.
 <p>
 Note that the order of messages received here may not be stable, so clients should not rely
 on the order that multiple listeners receive events in.</p></div>
  <div class="jd-tagdata">
      <h5 class="jd-tagtitle">Parameters</h5>
      <table class="jd-tagtable">
        <tr>
          <th>listener</td>
          <td>the listener where the results of the asynchronous <code><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#connect()">connect()</a></code> call are
            delivered.
</td>
        </tr>
      </table>
  </div>

    </div>
</div>


<A NAME="resolveState(com.google.android.gms.appstate.OnStateLoadedListener, int, java.lang.String, byte[])"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        void
      </span>
      <span class="sympad">resolveState</span>
      <span class="normal">(<a href="../../../../../../reference/com/google/android/gms/appstate/OnStateLoadedListener.html">OnStateLoadedListener</a> listener, int stateKey, String resolvedVersion, byte[] resolvedData)</span>
    </h4>
      <div class="api-level">
        <div></div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>Resolve a previously detected conflict in app state data. Note that it is still possible to
 receive a conflict callback after this call. This will occur if data on the server continues
 to change. In this case, resolution should be retried until a successful status is returned.
 <p>
 The value of <code>resolvedVersion</code> passed here must correspond to the value provided in the
 <code><a href="../../../../../../reference/com/google/android/gms/appstate/OnStateLoadedListener.html#onStateConflict(int, java.lang.String, byte[], byte[])">onStateConflict(int, String, byte[], byte[])</a></code> call.
 <p>
 The result is delivered to the given listener on the main thread. If <code><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#disconnect()">disconnect()</a></code> is
 called before the result is ready it will not be delivered.</p></div>
  <div class="jd-tagdata">
      <h5 class="jd-tagtitle">Parameters</h5>
      <table class="jd-tagtable">
        <tr>
          <th>listener</td>
          <td>The listener that is called when the operation is complete. This listener is
            required to be non-null. The listener is called on the main thread.</td>
        </tr>
        <tr>
          <th>stateKey</td>
          <td>The key to resolve data for. Must be a non-negative integer less than
            <code><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#getMaxNumKeys()">getMaxNumKeys()</a></code>.</td>
        </tr>
        <tr>
          <th>resolvedVersion</td>
          <td>Version code from previous <code>onStateConflict</code> call.</td>
        </tr>
        <tr>
          <th>resolvedData</td>
          <td>Data to submit as the current data. <code>null</code> is a valid value here.
            May be a maximum of <code><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#getMaxStateSize()">getMaxStateSize()</a></code> bytes.
</td>
        </tr>
      </table>
  </div>

    </div>
</div>


<A NAME="signOut(com.google.android.gms.appstate.OnSignOutCompleteListener)"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        void
      </span>
      <span class="sympad">signOut</span>
      <span class="normal">(<a href="../../../../../../reference/com/google/android/gms/appstate/OnSignOutCompleteListener.html">OnSignOutCompleteListener</a> listener)</span>
    </h4>
      <div class="api-level">
        <div></div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>Asynchronously signs the current user out.
 <p>
 The listener is called when sign-out is complete. If <code><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#disconnect()">disconnect()</a></code> is called before
 sign-out is complete, the listener will not be called.</p></div>
  <div class="jd-tagdata">
      <h5 class="jd-tagtitle">Parameters</h5>
      <table class="jd-tagtable">
        <tr>
          <th>listener</td>
          <td>The listener that is called when sign-out is complete. This listener is
            required to be non-null. The listener is called on the main thread.
</td>
        </tr>
      </table>
  </div>

    </div>
</div>


<A NAME="signOut()"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        void
      </span>
      <span class="sympad">signOut</span>
      <span class="normal">()</span>
    </h4>
      <div class="api-level">
        <div></div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>Asynchronously signs the current user out.
</p></div>

    </div>
</div>


<A NAME="unregisterConnectionCallbacks(com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks)"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        void
      </span>
      <span class="sympad">unregisterConnectionCallbacks</span>
      <span class="normal">(<a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.ConnectionCallbacks.html">GooglePlayServicesClient.ConnectionCallbacks</a> listener)</span>
    </h4>
      <div class="api-level">
        <div></div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>Removes a connection listener from this <code>GooglePlayServicesClient</code>. Note that removing
 a listener does not generate any callbacks.
 <p>
 If the specified listener is not currently registered to receive connection events, this
 method will have no effect.</p></div>
  <div class="jd-tagdata">
      <h5 class="jd-tagtitle">Parameters</h5>
      <table class="jd-tagtable">
        <tr>
          <th>listener</td>
          <td>the listener to unregister.
</td>
        </tr>
      </table>
  </div>

    </div>
</div>


<A NAME="unregisterConnectionFailedListener(com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener)"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        void
      </span>
      <span class="sympad">unregisterConnectionFailedListener</span>
      <span class="normal">(<a href="../../../../../../reference/com/google/android/gms/common/GooglePlayServicesClient.OnConnectionFailedListener.html">GooglePlayServicesClient.OnConnectionFailedListener</a> listener)</span>
    </h4>
      <div class="api-level">
        <div></div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>Removes a connection failed listener from the <code>GooglePlayServicesClient</code>.
 Note that removing a listener does not generate any callbacks.
 <p>
 If the specified listener is not currently registered to receive connection failed events,
 this method will have no effect.</p></div>
  <div class="jd-tagdata">
      <h5 class="jd-tagtitle">Parameters</h5>
      <table class="jd-tagtable">
        <tr>
          <th>listener</td>
          <td>the listener to unregister.
</td>
        </tr>
      </table>
  </div>

    </div>
</div>


<A NAME="updateState(int, byte[])"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        void
      </span>
      <span class="sympad">updateState</span>
      <span class="normal">(int stateKey, byte[] data)</span>
    </h4>
      <div class="api-level">
        <div></div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>Updates app state for the current app. The data provided here is developer-specified and can
 be in any format appropriate for the app. This method updates the local copy of the app state
 and syncs the changes to the server. If the local data conflicts with the data on the server,
 this will be indicated the next time you call <code><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#loadState(com.google.android.gms.appstate.OnStateLoadedListener, int)">loadState(OnStateLoadedListener, int)</a></code>.
 <p>
 This is the fire-and-forget form of the API. Use this form if you don't need to know the
 results of the operation immediately. For most applications, this will be the preferred API
 to use. See <code><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#updateStateImmediate(com.google.android.gms.appstate.OnStateLoadedListener, int, byte[])">updateStateImmediate(OnStateLoadedListener, int, byte[])</a></code> if you need the
 results delivered to your application.</p></div>
  <div class="jd-tagdata">
      <h5 class="jd-tagtitle">Parameters</h5>
      <table class="jd-tagtable">
        <tr>
          <th>stateKey</td>
          <td>The key to update data for. Must be a non-negative integer less than
            <code><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#getMaxNumKeys()">getMaxNumKeys()</a></code>.</td>
        </tr>
        <tr>
          <th>data</td>
          <td>The data to store. May be a maximum of <code><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#getMaxStateSize()">getMaxStateSize()</a></code> bytes.
</td>
        </tr>
      </table>
  </div>

    </div>
</div>


<A NAME="updateStateImmediate(com.google.android.gms.appstate.OnStateLoadedListener, int, byte[])"></A>

<div class="jd-details api apilevel-"> 
    <h4 class="jd-details-title">
      <span class="normal">
        public 
         
         
         
         
        void
      </span>
      <span class="sympad">updateStateImmediate</span>
      <span class="normal">(<a href="../../../../../../reference/com/google/android/gms/appstate/OnStateLoadedListener.html">OnStateLoadedListener</a> listener, int stateKey, byte[] data)</span>
    </h4>
      <div class="api-level">
        <div></div>
        
  

      </div>
    <div class="jd-details-descr">
      
  <div class="jd-tagdata jd-tagdescr"><p>Updates app state for the current app. The data provided here is developer-specified and can
 be in any format appropriate for the app. This method will attempt to update the data on the
 server immediately. The results of this operation will be delivered on the provided
 listener's <code><a href="../../../../../../reference/com/google/android/gms/appstate/OnStateLoadedListener.html#onStateLoaded(int, int, byte[])">onStateLoaded(int, int, byte[])</a></code> method.
 <p>
 The result is delivered to the given listener on the main thread. If <code><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#disconnect()">disconnect()</a></code> is
 called before the result is ready it will not be delivered.</p></div>
  <div class="jd-tagdata">
      <h5 class="jd-tagtitle">Parameters</h5>
      <table class="jd-tagtable">
        <tr>
          <th>listener</td>
          <td>The listener that is called when the write operation is complete. This
            listener is required to be non-null. The listener is called on the main thread.</td>
        </tr>
        <tr>
          <th>stateKey</td>
          <td>The key to update data for. Must be a non-negative integer less than
            <code><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#getMaxNumKeys()">getMaxNumKeys()</a></code>.</td>
        </tr>
        <tr>
          <th>data</td>
          <td>The data to store. May be a maximum of <code><a href="../../../../../../reference/com/google/android/gms/appstate/AppStateClient.html#getMaxStateSize()">getMaxStateSize()</a></code> bytes.
</td>
        </tr>
      </table>
  </div>

    </div>
</div>





<!-- ========= METHOD DETAIL ======== -->



<!-- ========= END OF CLASS DATA ========= -->
<A NAME="navbar_top"></A>

<div id="footer" class="wrap" >
        

  <div id="copyright">
    
  Except as noted, this content is licensed under <a
  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. 
  For details and restrictions, see the <a href="../../../../../../license.html">
  Content License</a>.
  </div>
  <div id="build_info">
    
    Android &nbsp;r &mdash; 18 Sep 2013 12:36

  </div>


  <div id="footerlinks">
    
  <p>
    <a href="../../../../../../about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
    <a href="../../../../../../legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
    <a href="../../../../../../support.html">Support</a>
  </p>
  </div>

</div> <!-- end footer -->
</div> <!-- jd-content -->

</div><!-- end doc-content -->

</div> <!-- end body-content --> 




<!-- Grid - for dev 
<script type="text/javascript">

window.gOverride = {
		gColor: '#FF0000',
		pColor: '#EEEEEE',
		gOpacity: 0.10,
		pOpacity: 0.40,
		pHeight: 16,
		pOffset: 2,
		gColumns:16,
		gEnabled:false,
		pEnabled:false
	}
</script>
	
<link href="../../../../../../assets/js/grid/960.gridder.css" rel="stylesheet" type="text/css">
<script src="../../../../../../assets/js/grid/960.gridder.js" type="text/javascript"></script>
-->





<script type="text/javascript">
init(); /* initialize android-developer-docs.js */
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>

<script type="text/javascript">
  var pageTracker = _gat._getTracker("UA-5831155-1");
  pageTracker._trackPageview();
</script>



</body>
</html>
